package com.shujia.scala

// 不能定义静态方法
// 静态方法需要放在与之同名的object中，即它的伴生对象中
// 在class中主要关心定义 类的属性及类方法
class Demo1Scala {
  // 不会在class中定义main方法
  //  def main(args: Array[String]): Unit = {
  //    println("helloWorld")
  //  }

}

/**
 * 实际上就相当于 一个对象
 * 里面的方法都是静态方法 可以直接通过Object的名字进行调用
 * 如果object的类名跟class的类名相同时 就把这个object成为class的伴生对象
 * 相当于单例模式创建出来的对象
 */
object Demo1Scala {
  val id = 1

  /**
   *  def 声明函数的关键字
   *  main 方法名
   *  args: Array[String] 参数名: 参数类型
   *  Unit 表示函数的返回值 相当于void
   *  {方法体}
   */
  def main(args: Array[String]): Unit = {
    println("object 中的 main方法")
    //    new Demo1ScalaClass().main(args)
    Demo1Scala.func1()
    println(Demo1Scala.id)
  }

  def func1() = {
    println("func1")
  }
}
